﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class UyeGuncelle : System.Web.UI.Page
{
    protected void Page_PreRender(object sender, EventArgs e)
    {
        DilDegistir();
    }
    protected void DilDegistir()
    {

        if (Cookies.Dil == "TR")
        {
            lblHesabim.Text = "Hesabım";
            lblBegendiklerim.Text = "Beğendiklermim";
            lblSiparislerim.Text = "Siparişlerim";
            lblAdreslerim.Text = "Adreslerim";
            lblBirikenParalarim.Text = "Biriken Paralarım";

            lblUyeGuncelle.Text = "Üye Bilgilerini Güncelle";
            lblHesapEposta.Text = "E-Posta";
            lblHesapAdiniz.Text = "Adınız";
            lblHesapSoyadiniz.Text = "Soyadınız";
            lblHesapCinsiyetiniz.Text = "Cinsiyetiniz";
            lblHesapSifre.Text = "Şifreniz";
            lblSifreTekrar.Text = "Şifreniz Tekrar";

            txtMail.Attributes["placeholder"] = "E-Posta Adresiniz";
            txtAd.Attributes["placeholder"] = "Adınız";
            txtSoyad.Attributes["placeholder"] = "Soyadınız";
            txtSifre.Attributes["placeholder"] = "Şifreniz";
            txtSifreTekrar.Attributes["placeholder"] = "Şifrenizi Tekrar Giriniz";
            
            rbCinsiyet.Items[0].Text = "Erkek";
            rbCinsiyet.Items[1].Text = "Bayan";

            //rbCinsiyet.Items.Clear();
            //rbCinsiyet.Items.Add("Erkek");
            //rbCinsiyet.Items[0].Value = "Erkek";
            //rbCinsiyet.Items[0].Selected = true;
            //rbCinsiyet.Items.Add("Bayan");
            //rbCinsiyet.Items[1].Value = "Bayan";

            cbTumKampanya.Text = "Tüm Kampanyalardan Haberdar olmak istiyorum ";

            thUrun.InnerText = "Ürün";
            thSiparisAdedi.InnerText = "Sipariş Adedi";
            thBirimFiyat.InnerText = "Birim Fiyat";
            thToplamFiyat.InnerText = "Toplam Fiyat";

            lblAraToplamHeader.Text = "Ara Toplam";
            lblToplamTutarHeader.Text = "Toplam Tutar";
            lblTLToplamHeader.Text = "Toplam Tutar TL";

            thOzetSiparisTarihi.InnerText = "Sipariş Tarihi";
            thOzetSiparisNo.InnerText = "Sipariş No";
            thOzetSiparisDurum.InnerText = "Sipariş Durumu";
            thOzetSiparisAdedi.InnerText = "Sipariş Adedi";
            thOzetToplamFiyat.InnerText = "Toplam Fiyat";

            pBirikenParaBaslik.InnerText = "BİRİKEN PARALARINIZ";
            pKullanilanParaPuan.InnerText = "Şu ana kadar kullanılan parapuan : ";
            pBirikenParaPuan.InnerText = "Kullanılabilir parapuan : ";

            btnKaydet.Text = "Kaydet";
        }
        else
        {
            lblHesabim.Text = "My Account";
            lblBegendiklerim.Text = "Liked";
            lblSiparislerim.Text = "My Orders";
            lblAdreslerim.Text = "My Addresses";
            lblBirikenParalarim.Text = "Money Points";

            lblUyeGuncelle.Text = "Update Account Info";
            lblHesapEposta.Text = "E-Mail";
            lblHesapAdiniz.Text = "Name";
            lblHesapSoyadiniz.Text = "Surname";
            lblHesapCinsiyetiniz.Text = "Sex";
            lblHesapSifre.Text = "Password";
            lblSifreTekrar.Text = "Password Again";

            txtMail.Attributes["placeholder"] = "E-Mail Address";
            txtAd.Attributes["placeholder"] = "Name";
            txtSoyad.Attributes["placeholder"] = "Surname";
            txtSifre.Attributes["placeholder"] = "Password";
            txtSifreTekrar.Attributes["placeholder"] = "Password again";

            rbCinsiyet.Items[0].Text = "Male";
            rbCinsiyet.Items[1].Text = "Female";

            //rbCinsiyet.Items.Clear();
            //rbCinsiyet.Items.Add("Male");
            //rbCinsiyet.Items[0].Value = "Erkek";
            //rbCinsiyet.Items[0].Selected = true;
            //rbCinsiyet.Items.Add("Female");
            //rbCinsiyet.Items[1].Value = "Bayan";

            cbTumKampanya.Text = "Inform me about all campaigns";

            thUrun.InnerText = "Product";
            thSiparisAdedi.InnerText = "Order Quantity";
            thBirimFiyat.InnerText = "Price";
            thToplamFiyat.InnerText = "Total Price";

            lblAraToplamHeader.Text = "Total Amount";
            lblToplamTutarHeader.Text = "Net Amount";
            lblTLToplamHeader.Text = "Net Amount TL";

            thOzetSiparisTarihi.InnerText = "Order Date";
            thOzetSiparisNo.InnerText = "Order Nr";
            thOzetSiparisDurum.InnerText = "Order Status";
            thOzetSiparisAdedi.InnerText = "Order Quantity";
            thOzetToplamFiyat.InnerText = "Total Amount";

            pBirikenParaBaslik.InnerText = "MONEY POINTS";
            pKullanilanParaPuan.InnerText = "Used money points until now : ";
            pBirikenParaPuan.InnerText = "Usable money points : ";

            btnKaydet.Text = "Update";
        }
    }

    int UyeId;
    protected void Page_Load(object sender, EventArgs e)
    {
        UyeId = Sessions.UyeId;
        if (!IsPostBack)
        {
            Sessions.SiparisFiyati = null;
            if (Request.Cookies["HesapSekme"] != null)
            {
                HttpCookie hesapCookie = new HttpCookie("HesapSekme");
                hesapCookie.Expires = DateTime.Now.AddDays(-1);
                Response.Cookies.Add(hesapCookie);
            }

            if (UyeId > -1)
            {
                string dil = "TR";
                if (Request.Cookies["dil"].Value == "ENG")
                    dil = "ENG";

                DataRow drUye = DataAccess.GetUyeBilgileri(UyeId,dil);
                txtAd.Text = drUye["Ad"].ToString();
                txtSoyad.Text = drUye["Soyad"].ToString();
                txtMail.Text = drUye["Eposta"].ToString();
                txtSifre.Attributes["Value"] = drUye["Parola"].ToString();
                txtSifreTekrar.Attributes["Value"] = drUye["Parola"].ToString();
                rbCinsiyet.SelectedIndex = Convert.ToInt16(drUye["Cinsiyet"]);
                cbTumKampanya.Checked = drUye["TumHaberler"].ToString() == "True";

                lblKullanilan.Text = drUye["KullanilmisParaPuan"].ToString();
                lblParaPuan.Text = drUye["ParaPuan"].ToString();
            }
            else
                Response.Redirect(Page.GetRouteUrl("UyeGiris", new object { }));

        }
    }
    protected void btnKaydet_Click(object sender, EventArgs e)
    {
        SetSekme("-1");
        bool TurkceMi = Cookies.Dil == "TR";
        if (Sessions.UyeId > 0)
        {
            if (signupalert.InnerText == "Girdiğiniz EPosta adresi sistemimzde kayıtlı !" || signupalert.InnerText == "Unavailable")
            {
                signupalert.Style.Add("display", "normal");
                signupalert.InnerHtml = TurkceMi ? "Lütfen farklı bir EPosta adresi girin!" : "Please type different E-Mail address";
                return;
            }
            else
            {
                string Cinsiyet = rbCinsiyet.SelectedIndex.ToString();
                DataRow drUye = DataAccess.UpdUye(UyeId, txtAd.Text, txtSoyad.Text, Cinsiyet, txtMail.Text, txtSifre.Text, cbTumKampanya.Checked);


                if (drUye != null)
                {
                    bool DogrulandiMi = (bool)drUye["DogrulandiMi"];
                    if (!DogrulandiMi)
                    {
                        string Kime = drUye["EPosta"].ToString();
                        string Baslik = TurkceMi ? "Skala EPosta Bilgisi Güncelleme" : "Skala EMail Changing Notification";
                        string Icerik1 = TurkceMi ? "EPosta adresinizi değiştirmek için tıklayın" : "Click link below to change your e-mail address";
                        string Icerik = @Icerik1+" : <br><br> http://deneme.skaladeri.com.tr/UyeDogrulama.aspx?Id=" + drUye["EPostaDogrulamaKodu"].ToString();

                        bool Aktivasyon = EPosta.EPostaGonder(Kime, Baslik, Icerik);

                        if (Aktivasyon)
                        {
                            signupalert.Attributes["class"] = "alert alert-success";
                            signupalert.Style.Add("display", "normal");
                            signupalert.InnerText = TurkceMi ? "EPosta adresinizi değiştirdiniz. Lütfen eski EPosta adresinize gönderilen onay linkine tıklayın" : "You have been changed your e-mail address. Please click the link that have been sent to your old e-mail address ";
                        }
                        else
                        {
                            signupalert.Style.Add("display", "normal");
                            signupalert.InnerText = TurkceMi ? "Aktivasyon maili gitmedi" : "Activation mail can't be sent"; 
                        }
                    }
                    else
                    {
                        Sessions.Ad = drUye["Ad"].ToString() + " " + drUye["Soyad"].ToString();
                        Sessions.Cinsiyet = Convert.ToInt16(drUye["Cinsiyet"]);
                        (this.Master as Skala).UyeAdiGuncelle(drUye["Ad"].ToString() + " " + drUye["Soyad"].ToString());

                        signupalert.Attributes["class"] = "alert alert-success";
                        signupalert.Style.Add("display", "normal");
                        signupalert.InnerText = TurkceMi ? "Üyelik bilgileriniz güncellendi" : "Your account infos have been updated";
                    }
                }
            }
        }
        else
            Response.Redirect(Page.GetRouteUrl("UyeGiris", new object { }));
    }

    protected void txtMail_TextChanged(object sender, EventArgs e)
    {
        SetSekme("-1");
        bool TurkceMi = Cookies.Dil == "TR";
        DataTable EPostaVarmi = DataAccess.CheckUyeVarmi(txtMail.Text);
        if (EPostaVarmi.Rows.Count > 0)
        {
            signupalert.Style.Add("display", "normal");
            signupalert.InnerText = TurkceMi ? "Girdiğiniz EPosta adresi sistemimzde kayıtlı !" : "Unavailable";
            //UserAvailability.InnerText = "Uygun değil";
        }
        else
        {
            signupalert.Attributes["class"] = "alert alert-success";
            signupalert.Style.Add("display", "normal");
            signupalert.InnerText = TurkceMi ? "Uygun EPosta adesi" : "Available";
            //UserAvailability.InnerText = "Uygun";
        }

    }
    protected void btnSil_Click(object sender, EventArgs e)
    {
        SetSekme("1");
        int AdresId = Convert.ToInt16(hidAdresId.Value);
        DataAccess.DelAdres(AdresId);
        listAdresler.DataBind();
    }
    protected void btnCantayaEkle_Click(object sender, EventArgs e)
    {
        SetSekme("2");
        if (Sessions.UyeId > 0)
        {
            string CantaDurumu = hidCantaDurumu.Value;
            string sr = hidUrunId.Value;
            int UrunId = Convert.ToInt16(sr);
            int SepetAdedi;

            if (CantaDurumu == "cantayaEkle")
            {
                DataRow drSepet = DataAccess.CantayaEkle(UrunId, 1);
                SepetAdedi = Convert.ToInt16(drSepet["SepetAdedi"]);
                Sessions.SepetAdedi = SepetAdedi;
            }
            else
            {
                SepetAdedi = DataAccess.CantadanCikar(UrunId);
                Sessions.SepetAdedi = SepetAdedi;
            }
            listBegendiklerim.DataBind();
            (this.Master as Skala).SepetAdediGuncelle(SepetAdedi);
        }
        else
            Response.Redirect(Page.GetRouteUrl("UyeGiris", new object { }));
    }
    protected void btnHelper_Click(object sender, EventArgs e)
    {
        SetSekme("2");
        if (Sessions.UyeId > 0)
        {
            string sr = hidUrunId.Value;
            int UrunId = Convert.ToInt16(sr);

            int BegeniAdedi = DataAccess.UrunBegen(UrunId);
            Sessions.BegeniAdedi = BegeniAdedi;

            (this.Master as Skala).BegeniGuncelle(BegeniAdedi);
            listBegendiklerim.DataBind();

        }
        else
            Response.Redirect(Page.GetRouteUrl("UyeGiris", new object { }));
    }
    //protected void listSiparislerim_ItemCommand(object sender, ListViewCommandEventArgs e)
    //{
    //    hidAdresId.Value = e.CommandArgument.ToString();

    //    //dsSiparisDetay.DataBind();

    //    Control updPanel = (this.Master as Skala).FindControl("upAd");
    //    ScriptManager.RegisterStartupScript(updPanel, updPanel.GetType(), "a", "<script> SiparisDetayGoster(); </script>", false);  
    //}
    protected void btnSiparisGoster_Click(object sender, EventArgs e)
    {
        SetSekme("0");       

        listSiparis.DataBind();

        Control updPanel = (this.Master as Skala).FindControl("upAd");
        ScriptManager.RegisterStartupScript(updPanel, updPanel.GetType(), "a", "<script> SiparisDetay(); </script>", false);
    }

    protected void SetSekme(string sekme)
    {
        if (Request.Cookies["HesapSekme"] == null)
        {
            HttpCookie HesapSekme = new HttpCookie("HesapSekme");
            HesapSekme.Value = sekme;
            HesapSekme.Expires = DateTime.Now.AddDays(1);
            Response.Cookies.Add(HesapSekme);
        }
        else
            Response.Cookies["HesapSekme"].Value = sekme;
    }
    protected void listSiparis_DataBound(object sender, EventArgs e)
    {
        DataView dv = (DataView)dsSiparisDetay.Select(DataSourceSelectArguments.Empty);
        DataTable dtSiparisDetay = dv.Table;

        if (dtSiparisDetay.Rows.Count > 0)
        {
            DataRow drSiparisDetay = dtSiparisDetay.Rows[0];
            decimal toplamFiyat = 0;
            decimal AraToplamFiyat = 0;
            decimal toplamFiyatTL = 0;
            decimal.TryParse(drSiparisDetay["SiparisFiyati"].ToString(), out toplamFiyat);
            decimal.TryParse(drSiparisDetay["OdenecekTutar"].ToString(), out AraToplamFiyat);
            decimal.TryParse(drSiparisDetay["TLFiyat"].ToString(), out toplamFiyatTL);
            string ParaBirimi = drSiparisDetay["ParaBirimi"].ToString();

            lblToplam.Text = AraToplamFiyat.ToString() + " " + ParaBirimi;
            lblAraToplam.Text = toplamFiyat.ToString() + " " + ParaBirimi;
            lblToplamTL.Text = toplamFiyatTL.ToString() + " TL";


            //lblGenelFiyat.Text = toplamFiyat.ToString();
            //lblToplamAdet.Text = ToplamAdet;
        }
    }
}